<?php
/**
 * Created by PhpStorm .
 * User: 杜磊磊
 * Date: 2020/6/27
 * Time: 11:09
 */
declare(strict_types=1);
namespace app\common\business;
use app\common\lib\sms\AliSms;
use app\common\lib\Num;
use app\common\lib\ClassArr;

class Sms
{
    public static function sendCode(string $phoneNumber,int $len,string $type = 'ali') :bool
    {
        //我们需要生成我们短信验证码 4位 6位
        $code = Num::getCode($len);
        //$sms = AliSms::sendCode($phoneNumber,$code);
        //工厂模式
        //$class = "app\common\lib\sms\\".$type."Sms";
        //$sms = $class::sendCode($phoneNumber,$code);
        $classStats = ClassArr::smsClassStat();
        $classObj = ClassArr::initClass($type,$classStats);
        $sms = $classObj::sendCode($phoneNumber,$code);
        if ($sms){
            //需要我们把得到的短信验证码记录到redis 并且需要给出一个失效时间 1分钟
            //1.php环境是否有redis扩展 redis.dll
            //2.reids服务
            cache(config("redis.code_pre").$phoneNumber,$code,config("redis.code_expire"));
        }
        return $sms;
    }
}